#include <bits/stdc++.h>
#define int long long 
using namespace std;

const int maxn = 1e5 + 5;


struct Edge{
	int to, v, nxt; // 这条边的终点, 权值, 同一起点的下一条边的位置
}edges[maxn << 1];
int head[maxn]; // 第一条 以 i 为起点的边在 edges 中的下标
int cnt; // 边的条数


void add(int from, int to, int v){
	edges[++cnt].to = to;
	edges[cnt].v = v;
	edges[cnt].nxt = head[from];
	head[from] = cnt;
	return ;
}


// 遍历图
void dfs(int c, int p){
	// ...
	for (int i=head[c];i != 0;i = edges[i].nxt) {
		int to = edges[i].to;
		if (to == p) {
			continue;
		}
		// ...
	}
}




void solve(){
	
}

signed main(){
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	solve();
	return 0;
}

